// vue提供给我们来对于已有的webpack配置进行增量修改
// 此文件的修改，一定要重启项目
const { defineConfig } = require('@vue/cli-service')
const path = require('path')
const fs = require('fs')

const dirs = fs.readdirSync(path.resolve('mock'))
const mocks = dirs.map(dir => require(`./mock/${dir}`))

// const numFn = require('./mock/num')

module.exports = defineConfig({
  transpileDependencies: true,
  // 修改已有的devServer中的web服务器，从而用来模拟web请求，用来mock一些假数据
  devServer: {
    // vue中提供的web服务器，使用express框架，app对象它就是一express对象
    // 此方法就是一个中间件，它必须要return
    setupMiddlewares(mids, { app }) {
      // numFn(app)
      mocks.forEach(fn => fn(app))
      return mids
    }
  }
})
